package com.dataart.training.crimequalification.service;

import com.dataart.training.crimequalification.dao.SubjectiveSideDAO;
import com.dataart.training.crimequalification.entity.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class SubjectiveSideServiceImpl implements SubjectiveSideService {

    //------------------------------------------------------------

    @Autowired
    private SubjectiveSideDAO subjectiveSideDAO;

    //------------------------------------------------------------

    /**
     * @return
     */
    @Override
    public List<IntentEntity> getAllIntents() {
        return subjectiveSideDAO.getAllIntents();
    }

    /**
     * @param codename
     * @return
     */
    @Override
    public IntentEntity getIntentByCodename(String codename) {
        return subjectiveSideDAO.getIntentByCodename(codename);
    }

    /**
     * @return
     */
    @Override
    public List<IndiscretionEntity> getAllIndiscretionTypes() {
        return subjectiveSideDAO.getAllIndiscretionTypes();
    }

    /**
     * @param codename
     * @return
     */
    @Override
    public IndiscretionEntity getIndiscretionByCodename(String codename) {
        return subjectiveSideDAO.getIndiscretionByCodename(codename);
    }

    /**
     * @return
     */
    @Override
    public List<MotiveEntity> getAllMotives() {
        return subjectiveSideDAO.getAllMotives();
    }

    /**
     * @param codename
     * @return
     */
    @Override
    public MotiveEntity getMotiveByCodename(String codename) {
        return subjectiveSideDAO.getMotiveByCodename(codename);
    }

    /**
     * @return
     */
    @Override
    public List<PurposeEntity> getAllPurposes() {
        return subjectiveSideDAO.getAllPurposes();
    }

    /**
     * @param codename
     * @return
     */
    @Override
    public PurposeEntity getPurposeByCodename(String codename) {
        return subjectiveSideDAO.getPurposeByCodename(codename);
    }

    /**
     * @return
     */
    @Override
    public List<DelinquentStateEntity> getAllDelinquentStates() {
        return subjectiveSideDAO.getAllDelinquentStates();
    }

    /**
     * @param codename
     * @return
     */
    @Override
    public DelinquentStateEntity getDelinquentStateByCodename(String codename) {
        return subjectiveSideDAO.getDelinquentStateByCodename(codename);
    }
}
